Equational Reasoning for Prolog

نویسندگان

  • Tom Schrijvers
  • Bart Demoen
چکیده

Equational Reasoning is a feature of Functional Programming much envied by Logic Programmers. We argue that logic programmers should not shy away from adopting equational reasoning because of perceived pitfalls, but rather embrace it to indulge in its many benefits. We propose and illustrate two approaches: a cumbersome indirection via Haskell and a more insightful approach directly in Prolog.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Equational Reasoning using AC Constraints

Unfailing completion is a commonly used technique for equational reasoning. For equational problems with associative and commutative functions, unfailing completion often generates a large number of rewrite rules. By comparing it with a ground completion procedure, we show that many of the rewrite rules generated are redundant. A set of consistency constraints is formulated to detect redundant ...

متن کامل

Parameterized Horn Clause Specifications: Proof Theory and Correctness

Recently, "algebraic" equational Horn clause specifications (or, in some sense, conditional specifications) have been advocated by several authors as the solution to some of the problems of Prolog [see, for instance, 11]. Most of the work done in this field has been dealing only with the operational aspects of such specifications (e.g. rewriting, narrowing, etc.), perhaps assuming that other ki...

متن کامل

A Method for Implementing Equational Theories as Logic Programs

Equational theories underly many elds of computing, including functional programming, symbolic algebra, theorem proving, term rewriting and constraint solving. In this paper we show a method for implementing many equational theories with a limited class of logic programs. We de ne regular equational theories, a useful class of theories, and illustrate with a number of examples how our method ca...

متن کامل

Extending Prolog with Nonmonotonic Reasoning

Nonmonotonic reasoning has been developed to capture common sense inferences. This paper considers nonmonotonic reasoning in logic programs with negation { its implementation using Prolog and its integration with Prolog execution. Even within logic programming frameworks, a variety of inferencing methods, model-theoretic semantics, and language features have been proposed for diierent forms of ...

متن کامل

The Technology Behind a Graphical User Interface for an Equational Reasoning Assistant

The Haskell Equational Reasoning Assistant (HERA) is an application written in Haskell that helps users construct and present equational reasoning style proofs[1]. In this paper we discuss the technology behind the user interface.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008